package com.wuji1626.spark.rdd.transform

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object RDD_Transform_groupBy {

  def main(args: Array[String]): Unit = {
    // Step1: 准备环境
    val sparkConf = new SparkConf().setMaster("local[*]").setAppName("Operator")
    val sc = new SparkContext(sparkConf)


    // Step2: 算子 groupBy
    val rdd: RDD[Int] = sc.makeRDD(List(1,2,3,4),numSlices = 2)

    def groupFunction(num:Int):Int = {
      num%2
    }

    val groupRDD:RDD[(Int, Iterable[Int])] = rdd.groupBy(groupFunction)
    groupRDD.collect().foreach(println)

    // Step3: 关闭环境
    sc.stop()
  }

}
